home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / Tools / linuxdoc-sgml-1.1 / sgmls-1.1 / Makefile < prev    next >
Encoding:
Makefile  |  1995-05-03  |  9.3 KB  |  275 lines

  1. # Makefile for sgmls on Unix.
  2.  
  3. # Common prefix for installation directories.
  4. # This is used in the definitions of BINDIR and MANDIR.
  5. # It is also used by configure to choose DEFAULT_PATH.
  6. PREFIX=..
  7. # Where to install the sgmls and sgmlsasp binaries.
  8. BINDIR=$(PREFIX)/bin
  9. # Permissions mode to use for binaries
  10. BINMODE=755
  11. # Extension (without the `.') to use for the man pages.
  12. MANEXT=1
  13. # Where to install man pages.
  14. MANDIR=$(PREFIX)/man/man$(MANEXT)
  15. # Permissions mode to use for man pages.
  16. MANMODE=444
  17.  
  18. CC=cc
  19. PROFILE=
  20. INCLUDE=-DGENCAT
  21. OPTIMIZE=-O
  22. DEBUG=
  23. WARN=
  24. CFLAGS=$(DEBUG) $(INCLUDE) $(WARN) $(PROFILE) $(OPTIMIZE)
  25. LDFLAGS=$(DEBUG) $(PROFILE)
  26. # Additional libraries needed.
  27. # Ultrix needs -li
  28. LIBS=
  29.  
  30. # This is needed only by the format target.
  31. TBL=gtbl
  32. NROFF=groff -Tascii -P-buo
  33.  
  34. # You shouldn't need to change anything after this point.
  35.  
  36. ETAGS=etags
  37. SHELL=/bin/sh
  38.  
  39. PROG1=sgmls
  40.  
  41. SRCS1=lexrf.c pcbrf.c synrf.c context.c md1.c md2.c pars1.c pars2.c serv.c \
  42.       sgml1.c sgml2.c sgmlmsg.c sgmlxtrn.c traceset.c entgen.c sgmlio.c \
  43.       xfprintf.c main.c unixproc.c sgmldecl.c version.c strerror.c getopt.c \
  44.       msgcat.c lineout.c ambig.c exclude.c lextaba.c
  45.  
  46. OBJS1=lexrf.o pcbrf.o synrf.o context.o md1.o md2.o pars1.o pars2.o serv.o \
  47.       sgml1.o sgml2.o sgmlmsg.o sgmlxtrn.o traceset.o entgen.o sgmlio.o \
  48.       xfprintf.o main.o unixproc.o sgmldecl.o version.o strerror.o getopt.o \
  49.       msgcat.o lineout.o ambig.o exclude.o lextaba.o
  50.  
  51. PROG2=sgmlsasp
  52.  
  53. OBJS2=sgmlsasp.o replace.o sgmls.o strerror.o getopt.o
  54. SRCS2a=sgmlsasp.c replace.c sgmls.c 
  55. SRCS2=$(SRCS2a) strerror.c getopt.c
  56.  
  57. PROG3=rast
  58.  
  59. SRCS3a=rast.c
  60. SRCS3=$(SRCS3a) sgmls.c strerror.c
  61. OBJS3=rast.o sgmls.o strerror.o getopt.o
  62.  
  63. PROG4=genlex
  64. SRCS4a=genlex.c ebcdic.c
  65. SRCS4=$(SRCS4a) lextaba.c lexrf.c
  66. OBJS4=genlex.o ebcdic.o lextaba.o lexrf.o
  67.  
  68. SRCS=$(SRCS1) $(SRCS2a) $(SRCS3a) $(SRCS4a) lextabe.c
  69.  
  70. HDRS=action.h adl.h entity.h error.h etype.h sgmldecl.h keyword.h lextoke.h \
  71.      msg.h sgmlaux.h sgmlfnsm.h sgmlincl.h sgmlmain.h lineout.h sgmlxtrn.h \
  72.      source.h synxtrn.h tools.h trace.h context.h getopt.h msgcat.h std.h \
  73.      appl.h sgmls.h sgmlsasp.h replace.h lexcode.h latin1.h ebcdic.h
  74.  
  75. PROGS=$(PROG1) $(PROG2) $(PROG3)
  76.  
  77. MANPAGES=sgmls.man sgmlsasp.man rast.man
  78. FMANPAGES=sgmls.txt sgmlsasp.txt rast.txt
  79.  
  80. # Miscellaneous files to go in the distribution
  81. MISC=README NEWS INSTALL ChangeLog LICENSE TODO Makefile Makefile.bcc \
  82.      Makefile.vms Makefile.cms dos.cfg unix.cfg thinkc.cfg vms.cfg cms.cfg \
  83.      dosproc.c portproc.c stklen.c sgmls.pl configure sgml-mode.el
  84.  
  85. # Files to go in the distribution.
  86. DIST=$(MISC) $(MANPAGES) $(FMANPAGES) $(SRCS) $(HDRS)
  87.  
  88. .SUFFIXES: .man .txt
  89.  
  90. .man.txt:
  91.     -rm -f $@
  92.     $(TBL) $< | $(NROFF) -man >$@
  93.  
  94. all: $(PROGS)
  95.  
  96. format: $(FMANPAGES)
  97.  
  98. $(PROG1): $(OBJS1)
  99.     $(CC) -o $(PROG1) $(LDFLAGS) $(OBJS1) $(LIBS)
  100.  
  101. saber_$(PROG1):
  102.     #setopt program_name ./$(PROG1)
  103.     #load -C $(SRCS1)
  104.  
  105. $(PROG2): $(OBJS2)
  106.     $(CC) -o $(PROG2) $(LDFLAGS) $(OBJS2) $(LIBS)
  107.  
  108. saber_$(PROG2):
  109.     #setopt program_name ./$(PROG2)
  110.     #load -C $(SRCS2)
  111.  
  112. $(PROG3): $(OBJS3)
  113.     $(CC) -o $(PROG3) $(LDFLAGS) $(OBJS3) $(LIBS)
  114.  
  115. saber_$(PROG3):
  116.     #setopt program_name ./$(PROG3)
  117.     #load -C $(SRCS3)
  118.  
  119. $(PROG4): $(OBJS4)
  120.     $(CC) -o $(PROG4) $(LDFLAGS) $(OBJS4) $(LIBS)
  121.  
  122. config.h: unix.cfg configure
  123.     @echo Generating config.h from unix.cfg.
  124.     @echo If this fails, copy unix.cfg to config.h and then edit config.h.
  125.     @echo This may take a minute or two...
  126.     chmod +x configure
  127.     CC="$(CC)" CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" PREFIX="$(PREFIX)" \
  128.       ./configure
  129.  
  130. lextabe.c: genlex
  131.     -rm -f lextabe.c
  132.     ./genlex >$@
  133.  
  134. install: $(PROGS)
  135.     -test -d $(BINDIR) || mkdir $(BINDIR)
  136.     for f in $(PROGS); do \
  137.       rm -f $(BINDIR)/$$f; \
  138.       cp $$f $(BINDIR)/$$f; \
  139.       chmod $(BINMODE) $(BINDIR)/$$f; \
  140.     done
  141.  
  142. install.man: $(MANPAGES)
  143.     -test -d $(MANDIR) || mkdir $(MANDIR)
  144.     for f in $(MANPAGES); do \
  145.       t=$(MANDIR)/`basename $$f .man`.$(MANEXT); \
  146.       rm -f $$t; \
  147.       cp $$f $$t; \
  148.       chmod $(MANMODE) $$t; \
  149.     done
  150.  
  151. clean:
  152.     -rm -f *.o $(PROGS) core a.out
  153.  
  154. realclean: clean
  155.     -rm -f $(FMANPAGES)
  156.  
  157. test: FORCE $(PROGS)
  158.     cd test; $(SHELL) RUN
  159.  
  160. TAGS: $(SRCS) $(HDRS)
  161.     $(ETAGS) $(SRCS) $(HDRS)
  162.  
  163. dist: FORCE
  164.     -rm -fr temp
  165.     mkdir temp
  166.     cd test; ./CLEAN
  167.     @version=`sed -n -e \
  168.            '/version_string/s/.*= "\([0-9.]*\).*/\1/p' version.c`; \
  169.     echo making sgmls-$$version.tar.Z; \
  170.     rm -f sgmls-$$version.tar.Z; \
  171.     mkdir temp/sgmls-$$version; \
  172.     ln $(DIST) temp/sgmls-$$version; \
  173.     cd temp/sgmls-$$version; \
  174.     rm Makefile; \
  175.     sed -e '/^CC=/s/=.*/=cc/' -e '/^PROFILE=/s/=.*/=/' \
  176.       -e '/^OPTIMIZE=/s/=.*/=-O/' -e '/^DEBUG=/s/=.*/=/' \
  177.       -e '/^INCLUDE=/s/=.*/=/'  -e '/^WARN=/s/=.*/=/' \
  178.       -e '/^LIBS=/s/=.*/=/' ../../Makefile >Makefile; \
  179.     ln -s ../../test .; \
  180.     cd ..; \
  181.     tar cfh - sgmls-$$version | compress >../sgmls-$$version.tar.Z
  182.     -rm -fr temp
  183.  
  184. dist: $(DIST)
  185.  
  186. depend: FORCE
  187.     gcc -MM $(INCLUDE) $(SRCS) >.depend
  188.     cp Makefile Makefile.bak
  189.     sed -e '/^# Do not delete this line./{' -e 'r .depend' -e q -e '}' \
  190.         Makefile.bak >Makefile
  191.     -rm -f .depend
  192.  
  193. depend: $(SRCS)
  194.  
  195. FORCE:
  196.  
  197. # Do not delete this line.
  198. lexrf.o :  lexrf.c config.h latin1.h entity.h tools.h msgcat.h synxtrn.h \
  199.   action.h lexcode.h
  200. pcbrf.o :  pcbrf.c config.h latin1.h entity.h tools.h msgcat.h action.h \
  201.   synxtrn.h adl.h
  202. synrf.o :  synrf.c config.h latin1.h entity.h tools.h msgcat.h synxtrn.h \
  203.   adl.h
  204. context.o :  context.c sgmlincl.h config.h latin1.h std.h entity.h tools.h \
  205.   msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h source.h \
  206.   synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h sgmlfnsm.h \
  207.   context.h
  208. md1.o :  md1.c sgmlincl.h config.h latin1.h std.h entity.h tools.h msgcat.h \
  209.   action.h adl.h error.h etype.h keyword.h lextoke.h source.h synxtrn.h \
  210.   sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h sgmlfnsm.h
  211. md2.o :  md2.c sgmlincl.h config.h latin1.h std.h entity.h tools.h msgcat.h \
  212.   action.h adl.h error.h etype.h keyword.h lextoke.h source.h synxtrn.h \
  213.   sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h sgmlfnsm.h
  214. pars1.o :  pars1.c sgmlincl.h config.h latin1.h std.h entity.h tools.h \
  215.   msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h source.h \
  216.   synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h sgmlfnsm.h
  217. pars2.o :  pars2.c sgmlincl.h config.h latin1.h std.h entity.h tools.h \
  218.   msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h source.h \
  219.   synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h sgmlfnsm.h
  220. serv.o :  serv.c sgmlincl.h config.h latin1.h std.h entity.h tools.h \
  221.   msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h source.h \
  222.   synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h sgmlfnsm.h
  223. sgml1.o :  sgml1.c sgmlincl.h config.h latin1.h std.h entity.h tools.h \
  224.   msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h source.h \
  225.   synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h sgmlfnsm.h
  226. sgml2.o :  sgml2.c sgmlincl.h config.h latin1.h std.h entity.h tools.h \
  227.   msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h source.h \
  228.   synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h sgmlfnsm.h
  229. sgmlmsg.o :  sgmlmsg.c config.h latin1.h sgmlaux.h std.h entity.h tools.h \
  230.   msgcat.h sgmldecl.h msg.h
  231. sgmlxtrn.o :  sgmlxtrn.c sgmlincl.h config.h latin1.h std.h entity.h \
  232.   tools.h msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h \
  233.   source.h synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h \
  234.   sgmlfnsm.h
  235. traceset.o :  traceset.c sgmlincl.h config.h latin1.h std.h entity.h \
  236.   tools.h msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h \
  237.   source.h synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h \
  238.   sgmlfnsm.h
  239. entgen.o :  entgen.c config.h latin1.h sgmlaux.h std.h entity.h tools.h \
  240.   msgcat.h sgmldecl.h
  241. sgmlio.o :  sgmlio.c config.h latin1.h sgmlaux.h std.h entity.h tools.h \
  242.   msgcat.h sgmldecl.h
  243. xfprintf.o :  xfprintf.c config.h latin1.h
  244. main.o :  main.c config.h latin1.h std.h getopt.h entity.h tools.h msgcat.h \
  245.   adl.h sgmlmain.h appl.h
  246. unixproc.o :  unixproc.c config.h latin1.h std.h entity.h tools.h msgcat.h \
  247.   appl.h
  248. sgmldecl.o :  sgmldecl.c sgmlincl.h config.h latin1.h std.h entity.h \
  249.   tools.h msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h \
  250.   source.h synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h \
  251.   sgmlfnsm.h
  252. version.o :  version.c
  253. strerror.o :  strerror.c config.h latin1.h
  254. getopt.o :  getopt.c config.h latin1.h
  255. msgcat.o :  msgcat.c config.h latin1.h std.h msgcat.h
  256. lineout.o :  lineout.c config.h latin1.h std.h entity.h tools.h msgcat.h \
  257.   adl.h sgmlmain.h lineout.h appl.h
  258. ambig.o :  ambig.c sgmlincl.h config.h latin1.h std.h entity.h tools.h \
  259.   msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h source.h \
  260.   synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h sgmlfnsm.h
  261. exclude.o :  exclude.c sgmlincl.h config.h latin1.h std.h entity.h tools.h \
  262.   msgcat.h action.h adl.h error.h etype.h keyword.h lextoke.h source.h \
  263.   synxtrn.h sgmlxtrn.h trace.h sgmlmain.h sgmlaux.h sgmldecl.h sgmlfnsm.h
  264. lextaba.o :  lextaba.c config.h latin1.h entity.h tools.h msgcat.h \
  265.   lexcode.h sgmldecl.h lextoke.h
  266. sgmlsasp.o :  sgmlsasp.c sgmlsasp.h config.h latin1.h std.h sgmls.h \
  267.   replace.h getopt.h
  268. replace.o :  replace.c sgmlsasp.h config.h latin1.h std.h replace.h
  269. sgmls.o :  sgmls.c config.h latin1.h std.h sgmls.h lineout.h
  270. rast.o :  rast.c config.h latin1.h std.h sgmls.h getopt.h
  271. genlex.o :  genlex.c config.h latin1.h std.h tools.h
  272. ebcdic.o :  ebcdic.c ebcdic.h
  273. lextabe.o :  lextabe.c config.h latin1.h entity.h tools.h msgcat.h \
  274.   sgmldecl.h
  275.